#ifndef __NJGIS_NJSERVICEAPI_H__
#define __NJGIS_NJSERVICEAPI_H__

#include "INxServerFactory.h"

//! Windows
#ifdef _WINDOWS
//! Static Lib
#ifndef _NJGIS_STATIC_LIB
#ifdef _NJGIS_EXPORTS
#define NJGIS_SERVICE __declspec(dllexport)
#else
#define NJGIS_SERVICE __declspec(dllimport)
#endif
#endif
//! Linux OSX(UNIX)
#else
#ifndef _NJGIS_STATIC_LIB
#ifdef _NJGIS_EXPORTS
#define NJGIS_SERVICE __attribute ((visibility("default")))
#else
#define NJGIS_SERVICE 
#endif
#endif
#endif

namespace NJGIS
{
    namespace SERVICE
    {
		extern "C" NJGIS_SERVICE int init();

        extern "C" NJGIS_SERVICE const char* getVersion();

        extern "C" NJGIS_SERVICE NJGIS::SERVICE::INjServerFactory* createServerFactory();
    }
}

#endif